import { h } from "vue";
// 无需导入图标组件（路由中已直接定义 icon）

function transformRoutes(routes) {
  return routes.map((route, index) => {
    // 递归处理子路由
    const children = route.children
      ? transformRoutes(route.children)
      : undefined;

    // 生成 key：优先使用路由自带的 index，无则用 sub+序号
    const key = route.index || `sub${index + 1}`;

    return {
      key,
      icon: route.icon, // 直接使用路由中定义的 icon（已是 h 函数格式）
      label: route.title,
      title: route.title,
      path: route.path, // 新增 path 字段，保留原始路由路径
      ...(children && { children }), // 存在子路由则添加
    };
  });
}

export default transformRoutes;
